A process virtual machine (PVM) may allow an application compiled for source instruction source architecture (ISA) to run on a target ISA. The target ISA may be translated from the source ISA dynamically during the application runtime. In addition to translated target instructions, the PVM may build corresponding data structures to describe a translated code region, wherein the translated target instructions and the corresponding data structures may form a translation cache (TC). The process of translation may generate the TC for later execution by breaking the source code to multiple code regions and translating the regions one by one. Translation cache persistency (TCP) may involve serializing the TC when an application starts up later. TCP may save/store the TC at the granularity of per-translation region and for each translation region, the generated TC may include translated target code (TTC) and translation description information that describes a translated region (TDI). Because TC is position dependent, a restoration of the saved TC to memory may require maintaining: the referral of memory address to each other using pointers, including all possible combinations such as TDI<->TTC or TTC<->TTC (chaining) where (-> indicates reference); TTC referring code/data in PVM; and TTC and TDI depending on the source program counter (PC). To avoid data inconsistency, TTC chaining may be unchained to remove the TTC<-> reference and may have a diminutive effect on performance.